<!DOCTYPE html>
<html>
<head>
	<title>跳跃游戏</title>
</head>
<body>
<script type="text/javascript">
//题目描述：给定一个非负整数数组，你最初位于数组的第一个位置。数组中的每个元素代表你在该位置可以跳跃的最大长度。判断你是否能够到达最后一个位置
const canJump = (nums) => {
	let len = nums.length;
	let ret = (new Array(len)).fill(false);

	ret[0] = true;
	for(let i = 0; i < len; ++i) {
		let item = nums[i];
		if(ret[i]) {
			ret.fill(true, i, i + item + 1);
		}
	}

	return ret[len - 1];
};
console.log('跳跃游戏:', canJump([3,2,1,0,4]));

const canJump2 = (nums) => {
	let len1 = nums.length;
	let len2 = 0;

	for(let i = 0; i < len1; ++i) {
		if(len2 >= i) {
			len2 = Math.max(len2, i + nums[i]);
		}
	}
	console.log(len2);
	return (len2 + 1) >= len1;
};
console.log('跳跃游戏:', canJump2([3,2,1,0,4]));
</script>
</body>
</html>